翻訳と辞書
Words near each other
・ Voice of A&G Digital 超ラジ!Rookie
・ Voice of A&G Digital 鈴木久美子の超ラジ!
・ Voice of A&G Digital 飯塚雅弓の超ラジ!
・ Voice of A&G Digital 鷲崎健の超ラジ!
・ Voice of A&G 超ラジ!AM
・ Voice ~cover you with love~
・ Voice〜cover you with love〜
・ Voice〜辿りつく場所〜
・ Voice・Love・Network
・ Voice~辿りつく場所~
Void (コンピュータ)
・ Void型
・ Volksempfänger
・ Von Willebrand因子
・ Vox (ブログ)
・ Voyage (アン・サリーのアルバム)
・ Voyage (曲)
・ Voyage 〜sans retour〜
・ Voyager (V6のアルバム)
・ Voyager (米倉千尋のアルバム)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Void (コンピュータ) : ウィキペディア日本語版
Void (コンピュータ)[ぼいど]
Void(ボイド)は、プログラミング言語において、「何もない」といった意味の型などに使われる名前である。プリミティブとしてキーワードないし予約語であることも多い。
ALGOL68やC言語などでは、有意な値を返さないサブルーチンについて、関数としての形式上void型としている。この場合は意味的には(型理論的には)本来はである。呼び出し側に返り値を戻さない関数を書く場合に用いられる。そのような関数は、何かしらの処理、あるいは引数を出力するといった、副作用のために呼び出されるのが通例である。値を返さない手続きは関数ではなくプロシージャである、という言語(Visual BasicPascal)もある。(「返り値を戻さない」のではなく、「呼び出し側に戻らない」のであれば理論的にもvoid型と言える)
似たものとしてnil(Null)やがあるが、(本来の)Void型はその型の値は存在しないという点が、NullやUnitと異なる。
C言語やC++ではvoid型へのポインタvoid
*
のように書く)があるが、これは上で述べたvoid型と直接関連するものではなく、「不特定の」(任意の)型のデータを指すポインタとなっている。つまり、この文脈ではvoidが汎用型として扱われている。プログラムでどんな型のデータもvoid型のポインタから指すことができ、逆に元のデータを参照することもできるため、ポリモーフィックな関数を書く際に有用である(なお、標準規格では、関数ポインタについては扱いが違う〔http://www.safercode.com/blog/2008/11/25/generic-function-pointers-in-c-and-void.html〕)。
また、JavaScriptなど、言語によっては、void演算子が存在する。JavaScriptのvoid演算子は、オペランドの式を評価してその値を得る計算をおこなうが、その値は捨てられ、値を返さない。C言語における、値を捨てることを明示するためのvoid型へのキャスト(たとえば、(void)printf("Hello"); のように書く)に似ている。
== C言語、C++ ==
返り値がvoid型の関数では、引数なしのreturn文で呼び出し元に戻る(あるいは、プログラムの終了まで戻らないか、longjmpのように別の場所に飛ぶ)。また、関数プロトタイプにvoidを単独で書いて、「引数がない」ことを明示する用途にも使われる。void(空虚)という名前に反して、Unit型のような使われ方をしている。(型理論的には、Unit型には () という唯一の値が存在し(Unit型の値は1個)、Void型の値は存在しない(Void型の値は0個))。
初期のC言語では、返り値が明示されていない関数がint型として扱われ、また引数のない関数ではただ空のカッコを書いていた。そして、指す先の型が決まらないポインタは整数、あるいはcharへのポインタを代用していた。この仕様だったコンパイラでは、関数の返り値を使わないことで警告が出ていたので、それをvoid型にキャストすることで警告を出さないようなコードが書かれることもあった。ビャーネ・ストロヴストルップが1979年~80年頃にC++の開発を始めた時点では、void型やそのポインタはAT&T系のコンパイラがサポートしていた方言であった〔http://cm.bell-labs.com/cm/cs/who/dmr/chist.html, "Standardisation."〕。
型が明示されないとint、という仕様は、C90では規格化された。
関数プロトタイプでvoidを明示することと、何も書かないのとでは、以下のようにC言語とC++で意味合いに違いが出てくる。

ただしC言語でも、C99では上記のvoid f()のような、何も書かないことで可変長の引数を意味する記法が非推奨となっている〔Bjarne Stroustrup, ''C and C++: Case Studies in Compatibility. Reconcilable differences? You decide '', Dr. Dobb's, September 01, 2002; print version 〕。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Void (コンピュータ)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.